#ifndef __ARC_DEFS_H_
#define __ARC_DEFS_H_

#define ARC_COUNT_OF(array)				(sizeof(array) / sizeof(array[0]))

// Declare the Servo pin 
#define SERVO_PIN						6
#define SERVO_ROTATION_INTERVAL			2000 // 400
#define SERVO_ROTATION_WAIT				350

// ULTRASONIC SENSOR
#define ULTRASONIC_SENSOR_PIN_TRIG		A0
#define ULTRASONIC_SENSOR_PIN_ECHO		A1

#define MOTOR_PIN_L_1					10
#define MOTOR_PIN_L_2					11
#define MOTOR_PIN_R_1					12
#define MOTOR_PIN_R_2					13

#define ARC_DEGREES_INITIAL				110
#define ARC_DEGREES_MAX					60
#define ARC_DEGREES_STEP				ARC_DEGREES_MAX

#define ARC_DISTANCE_MIN				40

typedef enum {
	MODE_AUTO,
	MODE_MANUAL,

	MODE_NUM,
	MODE_INVALID = -1
} ArcOperationMode;

enum {
	ARC_DISTANCE_IDX_LEFT,
	ARC_DISTANCE_IDX_CENTER,
	ARC_DISTANCE_IDX_RIGHT,

	ARC_DISTANCE_IDX_NUM
};

#endif // __ARC_DEFS_H_
